<!DOCTYPE html>
<meta charset="utf-8">
<title>
  querySelector(All) must work with comma seperated :scope pseudo selector
</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<!-- Regression test for https://github.com/jsdom/jsdom/issues/2359 -->

<div>
  <p><span>hello</span></p>
  <p id="p2">hey</p>
  <div id="d2">div</div>
</div>

<script>
"use strict";
const div = document.querySelector("div");
const div2 = document.querySelector("#d2");
const p = document.querySelector("p");
const p2 = document.querySelector("#p2");

test(() => {
  assert_equals(div.querySelector(":scope > p"), p);
  assert_equals(div.querySelector(":scope > span"), null);
}, "querySelector");

test(() => {
  assert_array_equals(div.querySelectorAll(":scope > p"), [p, p2]);
  assert_array_equals(div.querySelectorAll(":scope > span"), []);
}, "querySelectorAll");

test(() => {
  assert_equals(div.querySelector(":scope > p, :scope > div"), p);
}, "querySelector comma separated");

test(() => {
  assert_array_equals(div.querySelectorAll(":scope > p, :scope > div"), [p, p2, div2]);
}, "querySelectorAll comma separated");
</script>
